1. Field of the Invention
the present invention relates generally to a networked computer peripheral apparatus, such as a hard copy apparatus, and more particularly to communicating apparatus control, diagnostics, and status information, through a network firewall.
2. Glossary
The following terms and acronyms may be used throughout this document and appendices, if any; there definitions are provided for the convenience of the reader; however, no limitation on the scope of the invention should be implied herefrom.
“Client-Server”: A model of interaction in a distributed computer network system in which a program at one site sends a request to another site and then waits for a response. The requesting program is called the “client,” and the program which responds to the request is called the “server.” In the context of the World Wide Web (“www” or “web” defined hereinafter), the client is a “browser;” i.e., a program which runs on a computer of an end-user.
A program and network computer which responds to a browser request by serving web pages and the like, is referred to as a “server.” Specialized servers, such as dedicated electronic mail (defined hereinafter) servers are also known in the art.
“Common Gateway Interface” (“CGI”): A way of interfacing computer programs with HTTP (defined hereinafter) or web servers so that a server can offer interactive sites instead of just static text and images. “CGI script” is a program that is run on a web server in response to input from a browser. The CGI script is the link between the server and a program running on the system; for example, a database. CGI scripts are used with interactive forms.
“Cookies”: a technology that enables a web server to retrieve informational items from an end user's computer that reveals prior browsing activities of the user; the informational item is stored on the user's computer by a server, typically on the computer's hard drive.
“Electronic Mail” (“e-mail”): The process and software for sending and receiving of textual information and attachments thereto between end-users over a distributed computer network such as the internet; internet access providers often include e-mail service to its customers as part of the access software that allows the end user to dial into the internet.
“Firewall”: an electronic boundary that prevents unauthorized users from accessing certain files on a network, or a computer used to maintain such a boundary; or a generic term for any program used to secure a network from such public access.
“Hyperlink”: An internet navigational link from about document or web page to another, or from one portion or component of a document or web page to another. Typically, a hyperlink is displayed as a highlighted word or phrase on a web page that can be selected by clicking a mouse screen pointer thereon, resulting in a jump to the associated document or portion.
“Hypertext System”: A computer-based informational system in which documents or other types of data, are linked together via hyperlinks to form a user-navigable web of network or internet sites.
“Internet”: A generic term for a collection of distributed, interconnected networks (ARPANET, DARPANET, World Wide Web, or the like) that are linked together by a set of industry standard protocols (e.g., TCP/IP, HTTP, UDP (defined hereinafter), and the like) to form a global, distributed network.
“Header”: A data string defining the attributes such as size, data format, and the like, of an attached message.
“Hypertext Mark-up Language” (“HTML”): A standard coding convention and set of codes for attaching presentation and linking attributes to informational content within documents; the primary standard used for generating web documents. During a document authorizing stage, the HTML codes (referred to as “tags”) are embedded within the informational content of the document; when the document is subsequently transferred from a server to a client, the codes are interpreted by the browser and used to parse and display the document. In specifying how the browser is to display the document, HTML tags can be used to create hyperlinks to other webs documents.
“HyperText Transport Protocol” (“HTTP”): The standard www client-server protocol used for the exchange of information such as HTML documents and client requests for such documents between a browser and the server. HTTP includes a number of different types of messages which can be sent from the client to the server to request different types of server actions. For example, a “get” message which has the format GET<URL> (defined hereinafter) causes the server to return the document or file located at the specified URL.
“IP” is the standard acronym for “internet protocol.”
“Messaging Application Programming Interface” (“MAPI”): A program interface that enables a user to send and receive e-mail from within any MAPI-compliant application by means of the Microsoft™ Mail messaging system. If two applications are MAPI-enabled, they can share e-mail messages with each other. Applications that can use MAPI include word processors, spreadsheets, and graphic applications.
“Microsoft COM” (“COM”): a public standard for binary interface communications.
“PULL”: A technology, commonly used as the basis for web communications, in which the client browser must request a specific web page, such as by a hyperlink, before it is sent by a server.
“PUSH”: A technology for information dissemination used by a server to send data to users over a network. PUSH protocols send the informational content to the end user computer, or client, automatically, typically based on information pre-specified by the user.
“Simple Mail Transmission Protocol” (“SMTP”): An internet standard for text only transmission commonly known as “e-mail.”
“Transmission Control Protocol/Internet Protocol” (“TCP/IP”): A communications protocol developed for the internet to get data from one network device to another; uses a retransmission strategy to ensure that data will not be lost in transmission.
“User Datagram Protocol” (“UDP”): A communications protocol for the internet network layer, transport layer, and session layer, which makes it possible to send a datagram message from one computer to an application running in another computer; used in conjunction with IP.
“Uniform Resource Locator” (“URL”): A unique address which fully specifies the location of a file or other resource on the internet. The general format of a URL to is protocol://machine address.port/path/filename. The port specification is optional, and if none is entered by the user, the browser defaults to the standard port for whatever service is specified as the protocol. For example, if HTTP is specified as the protocol, the browser will use the HTTP default port; <HTTP:/WWW.HP.COM> is a URL, where postfix “.COM” is a commercial entity, “.EDU” is an educational entity, “.GOV” is a government entity, and “.ORG” is a non-profit organization. Hyperlinks are often URL designations.
“Web Site”: A computer system that servers informational content over a network using standard protocols of the web. Typically, a web site corresponds to a particular internet domain name, such as HP.COM“, and includes the content associated with a particular organization such as Hewlett-Packard Company. The term is generally intended to encompass both (1) the hardware/software server components that serve the informational content over the network, and (2) the “back-end” hardware-software components, including any non-standard or specialized components that interact with the server component to perform service for web site users.
“World Wide Web (“web”)”: Refers generally to both (1) a distributed collection of interlinked, user-viewable hypertext documents (“web documents” or “web pages”) that are accessible via the internet, and (2) the client and server software components which provide user access to such documents using standardized internet protocols. Currently, the primary standard protocol for allowing applications to locate and acquire web documents is HTTP, and the web pages are encoded using HTML. However, the terms “web” and world wide web” as used herein are intended to encompass future mark-up languages and transport protocols which may be used.
3. Description of the Related Art
Remote use of a computer peripheral, such as an exemplary hard copy apparatus peripheral (hereinafter “printer”), may be desired, for example, to print a report for local employees at a remote office location. A key element for any printer to be reliable is that it also be easily serviceable. Therefore, another example of remote control or use would be to access the printer logic for performance of diagnostics or actual maintenance. It is also important to know when user and device problems occur, like the user leaving the printer off-line or low ink levels in pens. Thus, it is becoming increasingly important for information technology administrators to have access to a remote printer.
Using common communication protocols, like TCP/IP or UDP, would require the opening of a particular port through which the printer would communicate with a client outside a firewall. This is a procedure that a network system administrator would not likely accept due to the increased security risk to the network behind the firewall.
One method of obtaining such access is disclosed by Nelson in U.S. patent application Ser. No. 09/299,832, filed Apr. 26, 1999 for REVERSE HTTP CONNECTIONS FOR DEVICE MANAGEMENT OUTSIDE A FIREWALL (assigned to the common assignee herein). Nelson teaches a method for enabling a remote processor to control a device coupled to a local processor, where the local processor is coupled to a computer network and a firewall is operatively interposed between the local processor and the computer network. The firewall routes messages from the local processor to the computer network, and only when authorized, routes messages from the computer network to the local processor. The local processor initiates communication with the remote processor, authorizes the firewall to pass a message from the remote processor to the local processor, and executes commands to manage the device as indicated in the message from the remote processor. The exchange of messages is continued when the message from the remote processor directs the local processor to send a next message to the remote processor. A reverse HTTP connection is established when the messages received from the remote processor are requests, and the messages sent to the remote processor are responses.
Another application assigned to the common assignee herein was filed on Nov. 5, 1999, by Obert Jr. et al. for an E-MAIL-BASED REMOTE DIAGNOSTIC FACILITY. That invention is utilized in the context of a peripheral device that is coupled to a network via a firewall which blocks unwanted incoming message traffic, except for e-mail message traffic. A remotely located diagnostic device, which includes code for diagnosis of causes of peripheral device malfunctions, is connected to communicate via the network. The peripheral device includes a processor for controlling its operation, a memory for storing a diagnostic application that is adapted to execute one or more diagnostic subroutines for diagnosing a cause of a device malfunction. The peripheral device dispatches an event e-mail message that reports an anomaly or malfunction to the remote diagnostic device and receives a response e-mail message from the remote diagnostic device (all via the firewall and the network). The response e-mail message is transmitted to the peripheral device which, in-turn, causes the diagnostic application to execute a subroutine in an attempt to determine the cause of the event. In the case where the remote diagnostic device is adapted to download an executable diagnostic subroutine via an e-mail message, the peripheral device receives the subroutine and executes it.
There is a need for a widely accepted and understood mode of communication such as direct web-based or e-mail-based remote status notification and computer peripheral maintenance and control, such as for a networked hard copy apparatus.